function ofdm_symbols_with_cp = add_cyclic_prefix(ofdm_symbols, cp_length)
% add_cyclic_prefix - 为OFDM符号添加循环前缀
%
% 输入参数:
%   ofdm_symbols - OFDM符号，每列是一个时域OFDM符号
%   cp_length   - 循环前缀长度
%
% 输出参数:
%   ofdm_symbols_with_cp - 添加循环前缀后的OFDM符号

% 获取OFDM参数
[num_samples, num_symbols] = size(ofdm_symbols);

% 初始化添加CP后的符号
ofdm_symbols_with_cp = zeros(num_samples + cp_length, num_symbols);

% 为每个OFDM符号添加循环前缀
for i = 1:num_symbols
    % 提取当前OFDM符号
    current_symbol = ofdm_symbols(:, i);
    
    % 添加循环前缀 - 将符号末尾的CP_LENGTH个样本复制到符号前
    symbol_with_cp = [current_symbol(end-cp_length+1:end); current_symbol];
    
    % 存储添加CP后的符号
    ofdm_symbols_with_cp(:, i) = symbol_with_cp;
end

end 